import Scanner from './scanner'
import nestTokens from './nestTokens';
export default function parseTemplateToTokens(template_str){
    const tokens = []
    const scanner = new Scanner(template_str)
    let word = undefined;
    while(!scanner.eos()){
        word = scanner.scan_until('{{')
        if(word){
            tokens.push(['text',word])
        }
        scanner.scan('{{')

        word = scanner.scan_until('}}')
        if(word){
            // 这个word就是是双大括号中间的内容
            if(word[0] === '#'){ // 判断一下中间的内容的首字符是不是#字符
                tokens.push(['#',word.substring(1)]) // 如果是#字符，将字符后的数据截取 插入tokens
            }else if(word[0]==='/'){ // 同上
                tokens.push(['/',word.substring(1)])
            }else{
                tokens.push(['name',word])
            }
        }
        scanner.scan('}}')
    }
    return nestTokens(tokens)

}